package com.yl.androidutilscenter.utils.ext

import android.text.Editable
import org.json.JSONObject

/**
 * @author
 * @description:
 * @date :2024/3/21
 * @version 1.0.0
 */


/**
 * 字符串判空并转换成非空字符
 * @param default  字符串为空时的默认值
 */
fun String?.toStr(default: String = ""): String {
    return if (this.isNullOrBlank()) default else this
}


/**
 * Contains letter and digit
 * 判断字符串是否同时包含数字和字母
 * @return
 */
fun String.containsLetterAndDigit(): Boolean {
    // 定义正则表达式，匹配同时包含数字和字母的字符串
    val pattern = Regex("^(?=.*[a-zA-Z])(?=.*\\d).+$")
    return pattern.matches(this)
}

/**
 * 字符串转editable
 */
fun String?.toEditable(): Editable {
    return Editable.Factory.getInstance().newEditable(this)
}


fun String.isGsonFormat(): Boolean {
    return try {
        JSONObject(this)
        true
    } catch (e: Exception) {
        false
    }
}